package io.gitee.wiqer.medium;

import java.util.ArrayList;

public class SolutionNC132_YSF {
    /**
     *
     * @param n int整型
     * @param m int整型
     * @return int整型
     */
    public int ysf (int n, int m) {
        // write code here
        ArrayList<Integer> list = new ArrayList<Integer>();
        // 先构造该数组序列
        for(int i = 1; i <= n; i++){
            list.add(i);
        }
        // 第一次从索引为0处进行报数
        int id = 0;
        // 直到剩最后一个人的时候停止循环
        while(list.size() > 1){
            // 从开始报数的索引处向后数m-1个人即是被淘汰的人的索引处
            id = (id + m -1) % list.size();
            // 将被淘汰的人删除掉
            list.remove(id);
        }
        // 最后剩下的一个人即是最终的获胜者
        return list.get(0);
    }
}
